<?php
/** .-------------------------------------------------------------------
 * |  Software: [HDCMS framework]
 * |      Site: www.hdcms.com
 * |-------------------------------------------------------------------
 * |    Author: 向军 <2300071698@qq.com>
 * |    WeChat: aihoudun
 * | Copyright (c) 2012-2019, www.houdunwang.com. All Rights Reserved.
 * '-------------------------------------------------------------------*/

namespace web\admin\controller;


class Category extends Common{
	protected $db;
	public function __construct()
	{
		parent::__construct();
//		获取数据库数据
		$this->db = new \system\model\Category();
	}

//    分类管理器首页
	public function index(){
//		树状分布数据
		$data = Data::tree($this->db->get(), 'cname');
//		分配变量并显示模板
//		p($data);
		View::with('data',$data)->make();
	}
//	添加顶级分类
	public function add(){
		if (IS_POST){
//			如果添加成功
			if($this->db->store()){
				message('成功添加','','success');
			}
			message($this->db->getError(),'','error');
		}
		View::make();
	}
//	添加子类
	public function addSon(){
		$cid = q('get.cid',0,'intval');
		if(IS_POST){
//			如果添加成功
			if ($this->db->store()){
				message('成功添加','','success');
			}
			message($this->db->getError(),'','errpr');
		}
		//获取所属分类（父级分类）
		//field,获取指定字段的数据
		$cateData = $this->db->where('cid',$cid)->field(['cid','cname'])->first();
//		p($cateData);

		View::with('cateData',$cateData)->make();
	}
//	编辑
	public function edit(){
		if (IS_POST){
			if ($this->db->edit()){
				message('编辑成功','','success');
			}
			message($this->db->getError(),'','error');
		}
		$cid = $cid = q('get.cid',0,'intval');
//		获取旧数据
		$oldData = $this->db->where('cid',$cid)->first();
		//处理所属分类getCateData()是模型中的方法来完成
		$cateData = $this->db->getCateData($cid);

		View::with('oldData',$oldData)->with('cateData',$cateData)->make();
	}
//	删除
	public function del(){
		$cid = q('get.cid',0,'intval');
		//把子集提一级（上位）

		//pluck获取单一字段
		//获取当前cid所对应的pid
		$pid = $this->db->where('pid',$cid)->pluck('pid');
//		把pid赋给子集
		$this->db->where('pid',$cid)->update(['pid'=>$pid]);
		//把当前cid这条数据删除
		$this->db->where('cid',$cid)->delete();
		message('删除成功',u('index'),'success');
	}


}
